Василий Усов - А так ли нужна Swift Modern Concurrency?
HTML-код
- Опубликовано: 15 апр 2024
- Ближайшая конференция - Mobius 2024 Autumn, 11 октября (Online), 19-20 октября, Санкт-Петербург. Подробности и билеты: jrg.su/Yu6KNJ
- -
В Swift 5.5 Apple предоставили разработчикам новый подход к конкурентному программированию - механизмы Task, async/await и акторы. Но к большому удивлению спикера многие разработчики не хотят использовать новые концепции, переводить на них существующие проекты или начинать новые. И, казалось бы, действительно зачем, если у нас «старые добрые очереди и потоки».
Но новая модель конкурентности - это не просто синтаксис, а совершенно новая для Swift концепция, которая лежит глубоко под фасадом async/await. Придумана и реализована она была еще в 60-х годах и спустя 60 лет добралась и до Swift.
Василий рассказал об истории этой концепции, а также о том, как она на самом деле используется в Swift и почему нам обязательно нужно переходить на нее.
Скачать презентацию с сайта Mobius - jrg.su/KQZ5ik
#concurrency #asyncawait - Наука
Василий легенда, учился по его книгам. Приятно было увидеть его доклад
Автору спасибо не только за книгу, но и за доклад ❤
Спасибо за качественный и очень полезный доклад!
отличный доклад! в голове все разложилось по полкам, спасибо
Спасибо за доклад
Спасибо большое!
Про то, что на swift concurrency надо надо переходить полностью или не переходить вовсе очень точно подмечено. Ко всем нюансам, я бы добавил, что в те моменты, где какая-то синхронизация данных обеспечивалась последовательными очередями, то при переходе к swift concurency, эти участки кода надо обмазывать либо акторами, либо видоизменять немного код и подстраивать под новый подход. Во всех случаях выходит коллосальные затраты времени и сил. Не так как в примерах у эпл, которые они любят показывать, где раз и перешел от gcd к swift concurrency)
Нет ничего проще чем создать таск, и переписать пол проекта потому что это эффект домино в свифте всегда максимальный.
Пересказ WWDC, developer docs и википедии. Напоминает конференции 2014-2016 годов, доклады Зимина и байки Царева про найм. Вопрос нужна ли SMC (Swift Modern Concurrency) не раскрыт. Из ruclips.net/video/DIDoHx6KP50/видео.html можно подумать, что GCD оперирует тредами, а не очередями. А потом люди делающие такие кринжовые доклады (извините за слово доклад) рассказывают про ценность личностного бренда.
Очень насмешили рассуждения про почему SMC не называется корутинами. Протоколы с интерфейсами вам Василий передают привет. Мне, как человеку перешедшего с Java на ObjC 12 лет назад, рассказы про то что Apple не хочет запутать программиста перешедшего с другого языка особенно доставляют)
Ценность сего видео крайне сомнительная. Кому это предназначено тоже не понятно.
Ох, ну и бомбануло у вас, Дмитрий, что вы целых два гневных комментария оставили) Давайте разбираться, с конца к началу.
"Ценность сего видео крайне сомнительная. Кому это предназначено тоже не понятно." - вы, как разработчик со знанием WWDC, википедии и developer docs - не целевая аудитория доклада. И это кажется нормальным, что доклад подходит не всем, особенно людям со столь высоким уровнем знаний. Кажется я говорил в докладе, что основная его цель - заинтересовать попробовать. И выглядит естественным и логичным, что с вашим уровнем это не нужно, вы уже давно все попробовали, и наверняка продукты Акрониса убер современны.
"Мне, как человеку перешедшего с Java на ObjC 12 лет назад, рассказы про то что Apple не хочет запутать программиста перешедшего с другого языка особенно доставляют)", "Очень насмешили рассуждения про почему SMC не называется корутинами" - то есть все таки доклад оказался полезным, поднял вам настроение! Хотя, вероятно, местами вы грустили.
"Протоколы с интерфейсами вам Василий передают привет" - им взаимный. Только Objective-C - одногодка C++, и на 12 лет старше Java. Так что еще вопрос кто и какой термин использовал раньше. Да и Swift делали уже не те люди, которые разрабатывали Objective-C. Выглядит как предвзятое отношение к компании и ее продуктам.
"А потом люди ... рассказывают про ценность личностного бренда." - не могли бы показать, где я рассказываю о "ценности личного бренда"? Или это про Зимина и Царева, которым тоже досталось в вашем комментарии?
"А потом люди делающие такие кринжовые доклады (извините за слово доклад)" - отрицательная оценка с попыткой нанести оскорбление, тоже оценка.
"Вопрос нужна ли SMC (Swift Modern Concurrency) не раскрыт" - согласен, как минимум не хватает тестов производительности, рассказа про акторы и всем остальном, что есть в новой конкурентности (но допустимый тайминг доклада - 45 минут, из которых рассчитывать на внимание слушателя я могу не больше 30 минут).
"Напоминает ... доклады Зимина и байки Царева про найм." - если бы не слово "байки", то я бы воспринял это как комплимент. Потому что ребята очень хорошие, сделали для сообщества разработчиков очень много, не боялись выражать свое мнение и делиться опытом. Для многих они были невероятно полезны, для некоторых - бесполезными. Но вы несете обиду на них уже на протяжении почти 10 лет, не понимаю почему.
В сухом остатке:
В комментарии нет претензий по материалу (за исключением тредов в GCD), определениям (особенно рад про конкурентность и параллелизм), к тому, что я называю SMC - корутинами, исторической справке, подаче и презентации. Есть претензии к моим рассуждениям и источникам. Есть 12-ти летняя обида на Apple за тяжелый переход с Java и 10-ти летняя обида на Зимина и Царева.
ruclips.net/video/DIDoHx6KP50/видео.html вот это прямо плохо. Люди не делайте так.